package all;

import java.util.Arrays;

/**
 * @author ZhanBo
 * @date 2020/6/7
 */
public class Solution5428 {

    public static void main(String[] args) {
        int [] array = {2,5,1,3,4,7};
        System.out.println(Arrays.toString(shuffle(array,3)));
    }

    /**5428. 重新排列数组
     * 给你一个数组 nums ，数组中有 2n 个元素，按 [x1,x2,...,xn,y1,y2,...,yn] 的格式排列。
     *
     * 请你将数组按 [x1,y1,x2,y2,...,xn,yn] 格式重新排列，返回重排后的数组。
     *
     *
     * 输入：nums = [2,5,1,3,4,7], n = 3
     * 输出：[2,3,5,4,1,7]
     * 解释：由于 x1=2, x2=5, x3=1, y1=3, y2=4, y3=7 ，所以答案为 [2,3,5,4,1,7]
     *
     * @param nums
     * @param n
     * @return
     */
    public static int[] shuffle(int[] nums, int n) {
        int [] result = new  int[nums.length];
        //x的下标
        int xIndex = 0;
        //y的下标
        int yIndex = n;
        for (int i = 0 ; i < result.length ; i++){
            //如果是偶数下标x
            if ((i &1) == 0){
                result[i] = nums[xIndex++];
            }
            //奇数下标y
            else {
                result[i] = nums[yIndex++];
            }
        }
        return result;
    }
}
